package com.macro.mall.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * ti_training_sign_record_log实体类
 */
@Data
@ApiModel(description = "签到签退日志报文",value = "签到签退日志报文")
public class  TiTrainingSignRecordLog implements Serializable {
    /***/
    @ApiModelProperty(value = "")
    private Integer id;
    /**签到签退记录id*/
    @ApiModelProperty(value = "")
    private Integer signRecordId;
    /**专题id*/
    @NotNull(message = "专题id不可为空")
    @ApiModelProperty(value = "专题id")
    private Integer trainingId;
    /**专题名称*/
    @ApiModelProperty(value = "专题名称")
    private String trainingName;
    /**课程id*/
    @NotNull(message = "课程id不可为空")
    @ApiModelProperty(value = "课程id")
    private Integer courseId;
    /**课程名称*/
    @ApiModelProperty(value = "课程名称")
    private String courseName;
    /**用户名*/
    @ApiModelProperty(value = "用户名")
    private String name;
    /**手机号码*/
    @ApiModelProperty(value = "手机号码")
    private String phone;
    /**社区标识*/
    @ApiModelProperty(value = "社区标识")
    private Integer communityId;
    /**社区名称*/
    @ApiModelProperty(value = "社区名称")
    private String communityName;
    /**身份信息*/
    @ApiModelProperty(value = "身份信息")
    private String userIdentity;
    /**身份信息名称*/
    @ApiModelProperty(value = "身份信息名称")
    private String userIdentityName;
    /**签到时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty(value = "签到时间")
    private Date signInTime;
    /**签退时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty(value = "签退时间")
    private Date signOutTime;
    /**完成观看时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty(value = "完成观看时间")
    private Date finishWatchTime;
    /**签到状态*/
    @ApiModelProperty(value = "签到状态  01-已签到  02-已签退")
    private String signStatus;
    /**视频进度*/
    @ApiModelProperty(value = "视频进度")
    private String videoBar;
    /***/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty(value = "")
    private Date createTime;
    /***/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty(value = "")
    private Date updateTime;

    /**01-签到|02-签退*/
    @ApiModelProperty(value = "01-签到|02-签退")
    private String oper;

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", signRecordId=").append(signRecordId);
        sb.append(", trainingId=").append(trainingId);
        sb.append(", trainingName=").append(trainingName);
        sb.append(", courseId=").append(courseId);
        sb.append(", courseName=").append(courseName);
        sb.append(", name=").append(name);
        sb.append(", phone=").append(phone);
        sb.append(", communityId=").append(communityId);
        sb.append(", communityName=").append(communityName);
        sb.append(", signInTime=").append(signInTime);
        sb.append(", signOutTime=").append(signOutTime);
        sb.append(", finishWatchTime=").append(finishWatchTime);
        sb.append(", signStatus=").append(signStatus);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append("]");
        return sb.toString();
    }
}
